Integrating Events Management with Veeva Vault

  • Browser

To better manage the various types of event materials used for an event, admins can integrate Events Management with Veeva Vault. This integration uses customizable field mappings between the EM_Catalog_vod object in CRM and the Document object in Vault to leverage Vault’s document management capabilities to deliver approved and compliant event materials to an event.

For example, Sarah Jones creates a speaker program about Cholecap’s efficacy for diabetes control. Before the integration job runs, three document records in Verteo BioPharma’s Vault instance are approved by the company’s compliance team:

  • A presentation deck for speaker programs about diabetes control
  • A printed sign-in sheet for events about Cholecap
  • A brochure designed to be printed and distributed at events about Cholecap’s efficacy for diabetes control

These Vault documents import into CRM as Events Management Catalog records that are made available to the appropriate new and existing events via Event Rule and Topic Material records also created during the integration process. Since all of the created catalogs are relevant to Sarah’s account, they are made available for her to use in her event.

Configuration

Before configuring this feature, ensure Syncing Events Metadata with Vault is enabled.

To configure this feature:

  1. Ensure the Set file access to Set by Record for files attached to records Salesforce File Setting is disabled.
  2. Grant admins the following permissions:

    Object

    OLS

    Record Types

    Fields

    FLS

    Connection_vod

    CRUD

    Connection_vod

    • Connection_URL_vod
    • Type_vod
    • Last_Sync_Date_vod
    • Last_Sync_Status_vod
    • Next_Sync_Date_vod
    • Sync_Settings_vod
    • External_ID_vod

    Edit

    Connection_Field_Mapping_vod

    CRUD

    Field_Mapping_vod

    • Connection_vod
    • CRM_Object_vod
    • CRM_Field_vod
    • Connection_Field_vod
    • System_Mapping_vod
    • Status_vod
    • External_ID_vod

    Edit

    Connection_Value_Mapping_vod

    CRUD

    Value_Mapping_vod

    • Connection_Field_Mapping_vod
    • CRM_Value_vod
    • Connection_Value_vod
    • External_ID_vod

    Edit

    EM_Catalog_vod

    CRUD

    All Mapped Record Types

    • Connection_vod
    • Description_vod
    • Name_vod
    • Status_vod
    • Vault_Document_Version_ID_vod
    • All other mapped fields and fields to copy over to event materials

    Edit

  3. Grant the Events Management integration user the following permissions:

    Object

    OLS

    Record Types

    Fields

    FLS

    Connection_vod

    CRUD

    Connection_vod

    • Connection_URL_vod
    • Type_vod
    • Last_Sync_Date_vod
    • Last_Sync_Status_vod
    • Next_Sync_Date_vod
    • Sync_Settings_vod
    • External_ID_vod

    Edit

    Connection_Field_Mapping_vod

    CRUD

    Field_Mapping_vod

    • Connection_vod
    • CRM_Object_vod
    • CRM_Field_vod
    • Connection_Field_vod
    • System_Mapping_vod
    • Status_vod
    • External_ID_vod

    Edit

    Connection_Value_Mapping_vod

    CRUD

    Value_Mapping_vod

    • Connection_Field_Mapping_vod
    • CRM_Value_vod
    • Connection_Value_vod
    • External_ID_vod

    Edit

    EM_Catalog_vod

    CRUD

    All Mapped Record Types

    • Connection_vod
    • Description_vod
    • Name_vod
    • Status_vod
    • Vault_Document_Version_ID_vod
    • All other mapped fields and fields to copy over to event materials

    Edit

    EM_Topic_Material_vod

    CRUD

    • Product_Material_vod
    • Topic_Material_vod
    • Topic_vod
    • Product_vod
    • Material_vod
    • Material_Type_vod

    Edit

    EM_Event_Rule_vod

    CRUD

    Material_vod

    • Country_Override_vod
    • Event_Configuration_vod
    • Material_vod
    • Material_Type_vod

    Edit

    EM_Event_Configuration_vod

    R

    n/a

    VExternal_Id_vod

    Read

    EM_Event_Configuration_Country_vod

    R

    n/a

    • Country_vod
    • Event_Configuration_vod

    Read

    Country_vod

    R

    n/a

    Alpha_2_Code_vod

    Read

    EM_Event_vod

    R

    n/a

    • Event_Configuration_vod
    • Country_vod
    • Topic_vod
    • Product_vod
    • Lock_vod

    Read

    EM_Event_Material_vod

    CRUD

    n/a

    • EM_Event_vod
    • Material_vod
    • Material_Type_vod
    • All other fields to copy over to event catalogs

    Edit

  4. Grant admins access to the following Apex classes:

    • VeevaEmIntegrationAdminService
    • RecordTypeInfoVod
  5. Grant admins access to the Events_Integration_Administration_vod Lightning Component tab.

Configuring in Vault

To enable this feature in a PromoMats or Vault Medical instance, add the following fields to each Vault Document Type that you plan to sync with CRM:

  • crm_org__v
  • crm_product__v
  • crm_em_catalog_type__v
  • crm_em_presentation_type__v – This field should only be added to Vault Document Types that are used with PowerPoint (.pptx) files
  • crm_em_event_configuration__v
  • crm_em_event_topic__v

Defining the Events Management Integration User

You need to define an integration user to update CRM records via the integration with Vault. To define the integration user:

  1. Navigate to the Events Management Integration Administration tab.
  2. Navigate to the Vault section.
  3. Select New in the Integration User section.
  4. Enter the following information:

    • Username
    • Password
    • Is this a Sandbox? – Select this check box if the CRM org is a sandbox
  5. Select Save to validate the entered credentials.

Integrating with a Vault Instance

Once the Events Management integration user is defined, admins can connect one or more PromoMats or Vault Medical instances to the CRM org:

  1. Navigate to the Connections section of the Events Management Integration Administration tab.

  2. Select New.

  3. Enter the following information:

    • Vault URL – The URL of the Vault instance
    • Vault User – The user name of the integration user in Vault
    • Password – The password of the integration user in Vault
    • Sync Settings – Determines whether content should be downloaded from the Vault or uploaded to the Vault. Available values are:

      If this feature was enabled prior to the 23R1.3 release, existing Connection_vod records must be updated to populate this field.

    • Download from Vault Content
    • Upload to Vault Content

      Upload to Vault Content is not supported at this time.

    • WHERE Clause – Restricts which types of documents are synced to CRM
  4. Select Save.
  5. Select Validate Credentials from the More Actions menu for the new connection to validate the Connection’s credentials.

Saved connections can be edited or deleted via the More Actions menu in the Connections section.

Deleting a connection also expires all EM_Catalog_vod records created by the connection. Additionally, all associated Salesforce Files, EM_Topic_Material_vod, and EM_Event_Rule_vod records are deleted. EM_Event_Material_vod records are not deleted. See Properties of Synced and Related Records for more information.

Managing Field Mappings

After integrating with an instance of Vault, admins can then view, edit, or create mappings between the Document object in Vault and the EM_Catalog_vod object in CRM.

Default Field Mappings

When a Vault connection is validated, a set of default field mappings are automatically created.

EM_Catalog_vod Field

Vault Document Field

Description_vod

title__v

Name_vod

name__v

RecordType

crm_em_catalog_type__v

Status_vod

status__v

Vault_Document_Version_ID_vod

version_id

These system field mappings cannot be deleted or modified, but can be deactivated via the More Actions menu.

Creating Custom Field Mappings

In addition to the default field mappings, admins can create custom field mappings. The following field types in CRM can be mapped to the following field types in Vault:

CRM Field Type

Supported Vault Field Types

  • RecordType*
  • Boolean*
  • Picklist (Single-Select)*
  • Boolean
  • Picklist (Single)
  • String

Email

String

Percent

Number

Phone

  • Number
  • String

Date

Date

Date/Time

Date/Time

Number

Number

Picklist (Multi-Select)*

Picklist (Multi)
  • Text Encrypted

  • Text Area Rich
  • Text Area Long

  • Text Area

  • Number
  • Date
  • Date/Time
  • Boolean
  • Picklist (Single)
  • URL
  • String

URL

  • URL
  • String

* These CRM field types require additionally mapping specific values to values in Vault.

To create custom field mappings:

  1. Select the appropriate connection.

  2. Select New in the EM Catalog Mappings section.

  3. Use the EM Catalog Field search box to select the appropriate EM_Catalog_vod field.

    The ID and Connection_vod fields cannot be mapped.

  4. Use the Vault Document Field search box to select a compatible Document field to map.
  5. Select either Save or Save and New.

Only active fields can be mapped. Fields cannot be mapped multiple times in the same connection.

Mapping Field Values Between CRM and Vault

Admins must also map individual values of the following CRM field types to individual values of the mapped field in Vault:

  • RecordType
  • Boolean
  • Picklist (Single select)
  • Picklist (Multi select)

The following system fields have default value mappings created by Veeva:

EM_Catalog_vod Field

Vault Document Field

EM_Catalog_vod Field Value

Vault Document Field Value

Status_vod

status__v

Staged_vod

  • draft__c
  • draft__vs

Approved_vod

  • approved_for_distribution__c
  • approved__vs

RecordType

crm_em_catalog_type__v

Speaker_Presentation_vod

speaker_presentation_vod__v

Print_Sign_In_Template_vod

print_sign_in_template_vod__v

Print_Invitation_Template_vod

print_invitation_template_vod__v

Contract_vod

contract_vod__v

 

Admins should review default mappings to determine which additional value mappings for these fields may be needed.

To create mappings between values of CRM fields and Vault fields:

  1. Navigate to the appropriate row in the EM Catalog Mappings table.
  2. Select View Mappings in the Actions column.

  3. Select New.

  4. Use the CRM Value and Vault Value picklists to select the appropriate values to map.
  5. Select either Save or Save and New.

When adding value mappings between the Status_vod field and status__v field, all status__v values from every Vault Document Lifecycle display as available for mapping, including values from Document Types not mapped to CRM. Because of this, admins should ensure to only map status__v values from Vault Document Lifecycles of Vault Document Types mapped by the integration.

Validating Field and Value Mappings

Select Validate Mappings from the More Actions for the menu for that Vault connection to validate field and value mappings.

Once the validation is complete, select Download Report from the results modal to download a CSV file containing detailed results of all successfully and unsuccessfully validated mappings.

Using Data-Loading to Integrate Events Management with Vault in Production Orgs

Veeva highly recommends using the UI in the Events Management Integration tab when initially configuring the integration between Vault and CRM in sandbox orgs. However, admins can use the data-loader to export integration records from the sandbox org, then import those records to the appropriate production org.

Use the data-loader to export records of the following objects involved with the integration:

  • Connection_vod – Represents a connection with a Vault instance

    Before upserting these records into production orgs, admins should clear the Last_Sync_Date_vod and Last_Sync_Status_vod fields. This ensures that the initial sync in the production org also validates the field mappings.

  • Connection_Field_Mapping_vod – Each record represents a mapping between an EM_Catalog_vod field and a Document field
  • Connection_Value_Mapping_vod – Each record represents a mapping between a specific value of an EM_Catalog_vod field and a specific value of a Document field

Creating Vault Documents for the Integration

In order to sync Document records in Vault to CRM as EM_Catalog_vod records, populate the following fields for each record in Vault:

  • name__v
  • crm_org__v – Specifies the CRM org the record will sync to. This picklist can contain multiple values if the Vault instance is integrated with more than one CRM org.
  • status__v – The status of the Document record. Depending on the configured field value mappings, this determines if the record is synced to the CRM org.
  • crm_em_catalog_type__v – Determines the record type of the EM_Catalog_vod record in CRM.
  • Any other mapped fields defined by the admin

In addition to these required fields, populate the following fields to specify the created EM_Catalog_vod record’s availability in CRM:

  • crm_em_event_configuration__v – Determines which type of events the record should be made available to in CRM. See Event Rule Records for more information.
  • country__v – Determines which countries the record should be made available to. See Event Rule Records for more information.
  • crm_product__v – Determines which products the record is associated with. See Topic and Product Material Records for more information.
  • crm_em_event_topic__v – Determines which event topics the record is associated with. See Topic and Product Material Records for more information.

Speaker Presentation Decks in Vault

PowerPoint Document records in Vault can be configured to import into CRM as a read-only file. This is useful for providing external event speakers with approved presentation decks that cannot be edited by the speaker.

To specify if a PowerPoint Document should import into CRM as read-only, populate the crm_em_presentation_type__v field. The following values are available:

  • Locked – When the integration process occurs, the .pptx file attaches to the EM_Catalog_vod record as a read-only Powerpoint Show (.ppsx) file
  • Unlocked or blank – The .pptx file is attached to the EM_Catalog_vod record and can be downloaded and edited freely

The crm_em_presentation_type__v field does not need to be mapped to a field in CRM.

Scheduling the Integration Between Vault and CRM

Admins can automate the sync between Vault and CRM via the Veeva Process Scheduler:

  1. Navigate to the Veeva Process Scheduler tab.
  2. Select Edit next to the Events Management Vault Integration process.

  3. Select the appropriate interval the process should run.
  4. Select the Schedule will be active check box.
  5. Select Save.

Syncing Between Vault and CRM

After field mappings and field value mappings are defined and validated, manually sync Vault and CRM or schedule the integration job between CRM and Vault via the Veeva Process Scheduler.

To manually sync between Vault and CRM, select the Sync button in the Integration History table in the Events Management Integration Administration tab.

The Sync Process

When a sync is initiated between a Vault instance and a CRM org, the following process occurs:

  • A Precheck stage validates the connection’s field mappings and field value mappings.
  • EM_Catalog_vod records mapped to the Staged status in CRM are created or updated. All appropriate related records are also created or updated for each EM_Catalog_vod record. See Properties of Synced and Related Records for more information.

    This step only occurs if the CRM org is a sandbox.

  • EM_Catalog_vod records mapped to the Approved status in CRM are created or updated. All appropriate related records are also created or updated for each EM_Catalog_vod record.
  • All EM_Catalog_vod records not mapped to a Staged or Approved status are expired. The following types of records related to the expired EM_Catalog_vod record are deleted:
  • The Salesforce File
  • EM_Event_Rule_vod
  • EM_Topic_Material_vod

Using the Integration History Table

View the history of syncs between Vault instances and CRM via the Integration History table in the Events Management Integration Administration tab.

Each row in the table represents a sync between a Vault instance and a CRM org. View the total number of adds, updates, and errors that occurred during the sync. Admins can also view all individual records affected by the sync by selecting Download Log in the More Actions menu to download a spreadsheet with the record details.

Properties of Synced and Related Records

EM_Catalog_vod records created in CRM via syncing with Vault have the following properties:

  • Connection_vod – References the Connection_vod record representing the Vault instance the record originated from
  • All mapped fields with the Vault instance, including the following fields:
  • Name_vod
  • Status_vod
  • Description_vod
  • The Vault Document Version File attached as a Salesforce File

Additionally, the following related records are also created based on the corresponding Document record in Vault and its related records:

Topic and Product Material Records

These two types of EM_Topic_Material_vod records link a material to an event’s topic or product. The following types of EM_Topic_Material_vod records are created:

  • Topic_Material_vod type records – Created based on the crm_em_event_topic__v records in Vault associated with the Document record. The following fields automatically populate:
  • Material_Type_vod – The record type of the associated EM_Catalog_vod record
  • Topic_vod – References the created EM_Catalog_vod record
  • Material_vod – References the created EM_Catalog_vod record
  • Product_Material_vod type records – Created based on the crm_product__v field on the associated Document record in Vault. The following fields automatically populate:
  • Material_Type_vod – The record type of the associated EM_Catalog_vod record
  • Product_vod – Populates with the value of the Document record’s crm_product__v field
  • Material_vod – References the created EM_Catalog_vod record

Event Rule Records

EM_Event_Rule_vod records link an event material to EM_Event_Configuration_vod and EM_Event_Configuration_Country_vod records. Whenever an EM_Event_vod record is created, the EM_Event_Configuration_vod record and the EM_Event_Configuration_Country_vod record, if enabled, associated with the event are used to automatically add associated materials to the event.

Material_vod type EM_Event_Rule_vod records are created or updated in CRM based on the value of the country__v multi-select picklist on the Document record, as well as whether the Document record has associated crm_em_event_configuration__v records:

 

Blank country__v picklist

One or more countries selected in country__v

No associated crm_em_event_configuration__v records

No event rules are created.

Event rules are created or updated on all event configurations with an associated Event_Configuration_Country_vod record matching one of the Document’s defined countries.

One or more associated crm_em_event_configuration__v records

Event rules are created or updated on all associated event configurations.

Event rules are created or updated if an associated event configuration also has an associated Event_Configuration_Country_vod record that matches one of the Document’s defined countries.

Event Material Records

When an EM_Catalog_vod record is created or updated by the integration process, EM_Event_Material_vod records are automatically created for existing EM_Event_vod records that match the material’s requirements from EM_Event_Rule_vod and EM_Topic_Material_vod records. This ensures the material from Vault is made available to the appropriate new and existing events.

Records are created so long as the associated EM_Event_vod records is not locked, Canceled, or Closed.

Unlike EM_Event_Rule_vod and EM_Topic_Material_vod records, EM_Event_Material_vod records are not deleted when their associated EM_Catalog_vod records are expired. Instead, the Salesforce File attached to the EM_Event_Material_vod record is deleted to prevent end-users from accessing the expired content.